// webpack是node写出来的  node写法
let path = require('path')
let HtmlWebpackPlugin = require('html-webpack-plugin')  //html webpack的一个插件

module.exports = {
  mode: 'development',
  entry: './src/index.js',
  output: {
    filename: 'bundle.[hash:8].js', //打包后的文件名
    path: path.resolve(__dirname, 'build')  //必须是绝对路径，就是webpack.config.js目录下的build目录。
  },
  plugins: [ //数组 放着所有webpack插件
    new HtmlWebpackPlugin({
      template: './src/index.html',
      filename: 'index.html',
      minify: {
        removeAttributeQuotes: true, //删除html标签属性的双引号
        collapseWhitespace: true //折叠空行
      },
      hash: true // 增加哈希戳，script标签的src属性引用的js文件加上了?190d768ba42a0f901e8f这样的哈希值。如：src=bundle.js?190d768ba42a0f901e8f
    })
  ],
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          {
            loader: 'style-loader',
            options: {
              insertAt: 'top'
            }
          },
          'css-loader'
        ]
      },
      {
        test: /\.less$/,
        use: [
          {
            loader: 'style-loader',
            options: {
              insertAt: 'top'
            }
          },
          'css-loader',  //解析@import语法，解析路径
          'less-loader'  //把less转css
        ]
      }
    ]
  }
}